/*
	微信的api封装
*/

export default{
	/*
		@request发起 HTTPS 网络请求
		@param
			url:接口地址
			data:请求接口数据
			header:请求头
			method:HTTP 请求方法
			success(res):接口调用成功返回
			fail(res):接口调用失败返回

	*/
	request(param){
		var oAjax=new XMLHttpRequest();  //实例化ajax对象
	    // console.log(oAjax.readyState);//0

	    
	    if(param.method && param.method=="POST"){
	    	oAjax.open(param.method?param.method:"POST",param.url,true);			//true为异步 false为同步
	    	//设置请求数据
		    if(param.data){
		    	oAjax.send(param.data);		//发送请求并且传参
		    }
	    }else{
	    	//设置请求数据
		    if(param.data){
	    		var str=[];
	    		for(let key in param.data){
	    			str.push(key+"="+param.data[key]);
	    		}
	    		str=str.join("&");
	    		// console.log("str",str)
	    		param.url=param.url.indexOf("?")>=0?param.url+"&"+str:param.url+"?"+str;
		    }
		    
		    oAjax.open(param.method?param.method:"GET",param.url,true);			//true为异步 false为同步
			

		    oAjax.send();		//发送请求并且传参
	    }
	    
	    // console.log(oAjax.readyState);//1
	    
	    //设置请求头
	    if(param.header){
	    	for(let key in param.header){
	    		oAjax.setRequestHeader(key,param.header[key]);
			}
	    }

	    
	   
	    oAjax.onreadystatechange=function(){ //接收
	    	// console.log(oAjax.readyState);	//234
	     	//对象本身工作状态是否正常
	      	if(oAjax.readyState==4){
	        	//判断http协议返回值
	        	if(oAjax.status==200){	
	        		var res={
	        			data:JSON.parse(oAjax.responseText)
	        		}		 
	         		param.success && param.success(res);
	        	}else if(oAjax.status==404){
	          		param.fail && param.fail(JSON.parse(oAjax.responseText));
	       	 	}else{
	          		param.fail && param.fail(JSON.parse(oAjax.responseText));
	        	}
	      	}
	    };
	}
}